From f91ff35fff24861c213c01343220031f58f49f68 Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Mon, 23 May 2005 18:35:08 +0000 Subject: [PATCH] bitkeeper revision 1.1516 (4292225caWyLsfo-mZ3yV4QmUhXSAQ) Fix the veth0/vif0.0 loopback interfaces to properly assert integrity of locally-generated packets. Hopefully this will fix dom0->domU communications. As an aside, I think 'proto_csum_valid' is not a good name for that field -- I may rename to 'proto_data_valid' or something like that. Signed-off-by: Keir Fraser --- linux-2.6.11-xen-sparse/drivers/xen/netback/loopback.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/linux-2.6.11-xen-sparse/drivers/xen/netback/loopback.c b/linux-2.6.11-xen-sparse/drivers/xen/netback/loopback.c index 6f92f3d939..fa19e600c2 100644 --- a/linux-2.6.11-xen-sparse/drivers/xen/netback/loopback.c +++ b/linux-2.6.11-xen-sparse/drivers/xen/netback/loopback.c @@ -68,7 +68,13 @@ static int loopback_start_xmit(struct sk_buff *skb, struct net_device *dev) np->stats.rx_packets++; if ( skb->ip_summed == CHECKSUM_HW ) + { + /* Defer checksum calculation. */ skb->proto_csum_blank = 1; + /* Must be a local packet: assert its integrity. */ + skb->proto_csum_valid = 1; + } + skb->ip_summed = skb->proto_csum_valid ? CHECKSUM_UNNECESSARY : CHECKSUM_NONE; -- 2.30.2